Distributed intelligence MAC protocols for DWDM ring networks

ABSTRACT

A metropolitan access network ( 10 ) uses a variation of a MAC protocol, where each station ( 14 ) on a ring ( 12 ) is associated with one or more time slot ( 30 ). Each slot carries information regarding the associated station, basic connection fields ( 32 ), communications fields ( 34 ), and quality of service fields ( 36 ). Each station maintains its own local database regarding the status of the network ( 10 ) by reading the information in each time slot ( 30 ).

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of the filing date of copending provisional application U.S. Ser. No. 60/264,113, filed Jan. 25, 2001, entitled “Distributed Intelligence MAC Protocols for DWDM Ring Networks” to Tancevski.

STATEMENT OF FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable

BACKGROUND OF THE INVENTION

1. Technical Field

This invention relates in general to networks and, more particularly, to metropolitan networks.

2. Description of the Related Art

FIG. 1 illustrates a basic block diagram of a metropolitan access network 10 using a DWDM (Dense Wavelength Division Multiplexing) ring 12 and a MAC (medium access control) protocol. A plurality of stations 14 are coupled to the DWDM ring 12. The stations 14 may be coupled to other networks, such as local area networks and wide area networks, as well. In the illustrated embodiment, Station1 and Station2 are coupled to LANs (local area networks) 16, and Station3 is coupled to a WAN (wide area network) 18. Station4 is a stand-alone computer. Various station types may be coupled to the ring, such as stand-alone computers, servers, packet ADMs (Add/Drop Multiplexer), bridges, gateways, IP routers and optical cross-connects.

In operation, metropolitan access networks (also referred to as MANs) are used to connect stations in an area spanning up to 100 kilometers. Voice, video, and data may be carried over the MAN 10. Typically, less than several hundred stations 14 are coupled to the ring 12 in a metropolitan access network 10. In the arrangement shown, information is communicated on ring 12 over multiple channels 20, each channel 20 having an associated unique wavelength (λ), as shown in FIG. 2. One of the channels 20 is designated as the control channel 22. The remaining n channels are data channels 24 which can carry either voice or data information.

Communications between stations 14 is provided through reservations of the channels by a station 14 that wishes to initiate a communication with one or more other stations 14. For example, Station1 could communicate to Station2 by reserving the λ₃ data channel. Once reserved, only Station1 and Station2 could use this channel; the other stations 14 would be blocked out from using λ₃, but could use any other available channel. Station1 could also multicast data to multiple stations 14 using a single data channel 24. Further, a single station 14 could communicate independently with multiple stations over separate channels. For example, Station1 could be communicating with Station2 over channel λ₁ and could be communicating with Station3 over channel λ₂ at the same time, if such an interface is implemented at the stations.

To allocate the data channels 24 between the various stations 14, the control channel 22 continuously circulates tokens 26 between all the stations 14 on the ring 12, as shown in FIG. 3. Each token 26 has a one-to-one relationship with a data channel 24; hence there are n tokens 26 used to represent the n data channels 24. When a first station 14 needs to communicate with a second station 14 on the ring 12, it monitors the tokens 26 passed over the control channel 22. Each token will have a field indicating the availability of the channel. When the first station 14 receives a token indicating its availability, the first station modifies the token 26 to indicate the desired communication (in this case, a point-to-point communication to the second station) and changes the token to indicate that the associated data channel 24 is currently occupied. When the modified token 26 is received by the second station 14, an acknowledgement is sent to the first station 14 and the selected channel 24 is set up for the communication between the two stations 14. When the communication is finished, the first station 14 releases the communication channel 24 by modifying its token 26 to indicate the availability of the channel 24.

Since each token 26 is shared among all the stations 14 in the network 10 and signifies only availability of transmission slot, it is completely insensitive to the types of services and does not provide for any bandwidth fairness issue. For instance, a station 14 requesting service for a best effort type application would receive the same treatment as a station 14 requesting service for a time-sensitive application. Furthermore, the tokens 26 do not provide for an associated expiration of service, so a greedy application can consume substantial portion of the bandwidth. Finally, the round-trip time of a token, stemming from the fact that a station has to wait up to a full round-trip to sense an empty token 26, can pose significant delays, especially as the network diameter increases. Accordingly, the strains on the electronic buffers of the stations 14 can become pronounced.

Therefore, a need has arisen for a more efficient metropolitan access network and associated protocol that accounts for quality of service issues.

BRIEF SUMMARY OF THE INVENTION

In the present invention, a network comprises a network ring for providing communication on a plurality of channels, wherein at least one of the channels passes control information, and multiple devices operable to communicate with one another over a selected channel on the network ring. Each device includes circuitry for generating control information related to its current communication status and transmits the status information on the ring. Further, the devices read control information of other devices from the ring and maintain a local database of the current communications status of the devices based on the control information.

The present invention provides significant advantages over the prior art. Connections between devices on the network can be set up and broken down faster. Further, the control information can include information related to quality of service.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:

FIG. 1 illustrates general block diagram of a metropolitan access network;

FIG. 2 illustrates the division of a carrier into multiple channels of different wavelengths;

FIG. 3 illustrates a prior art protocol for providing communications between stations coupled to a carrier;

FIG. 4 illustrates a protocol for providing communications between stations coupled to a carrier with quality of service provisions;

FIG. 5 illustrates an allocation of fields within each slot of the protocol of FIG. 4;

FIG. 6 illustrates an example of a local table derived from information in the fields of FIG. 5; and

FIG. 7 illustrates an alternative in-band configuration where data and control are communicated on a common channel.

DETAILED DESCRIPTION OF THE INVENTION

The present invention is best understood in relation to FIGS. 4-7 of the drawings, like numerals being used for like elements of the various drawings.

A variation on the network shown generally in FIGS. 1 and 2 is described hereinbelow. FIG. 4 illustrates a different protocol used on control channel 22, wherein the control channel is divided into multiple slots 30, where each slot 30 represents an associated station 14 on the ring 12. Each slot 30 includes status information regarding the communication channels in use by the associated station 14, along with other status information, such as quality of service information. Each of the m stations on ring 12 may have multiple associated slots 30 circulating on the ring 22. For example, in FIG. 3, each station 14 is represented by four slots 30. The number of slots 30 allocated to each station will depend upon the desired length of each slot 30 and the number of stations 14 on the ring 22.

Each slot 30 includes an identification of the associated station 14 (the “resident” station). Only the resident station may modify the information of one of its associated slots 30 although the other stations (the “non-resident stations”) can monitor another station's slots 30 for information.

As in the prior art, the network may use a separate control channel 22 on a distinct wavelength to pass the slots 30 between the stations 14. Alternatively, the control channel could be placed on a subcarrier. While the separate wavelength solution offers simplified detection, it also consumes a portion of the bandwidth. In one embodiment, the control channel 22 is time slotted and perfectly synchronized. Each of the time slots 30 is dedicated to one station 14 in the network and carries information relevant to the status of that station. Therefore, the entire perimeter of the ring is divided into time slots 30, as indicated in FIG. 4. In theory, it is enough that there is one time slot per station, which limits the number of time slots since it is likely that the number of stations will not exceed several hundred. Hence for a ring with perimeter of 100 km and supporting one hundred stations, the duration of each time slot will be roughly 5 μs (assuming one slot 26 per station 14). At bit rate 10 Gb/s, each time slot can carry roughly 5000 bytes of information.

In the vast majority of applications, a much smaller slot size is sufficient to carry all desirable information, discussed in greater detail below. By dividing the perimeter into more time-slots and allocating more than one slot 26 to each station, as shown in FIG. 4, the round trip time (the time between slots associated with the same station) can be significantly reduced. In the previous example, with one slot per station in a 100 km ring, the round trip time is 0.5 ms. If the perimeter is subdivided into ten time-slots per station, each time-slot can carry 500 bytes of information, which should be enough in most cases, but the round-trip delay is ten times smaller and is only 0.05 ms or 50 μs. Naturally, the trade-off between slot size and round-trip time can be adjusted as necessary for a given application.

FIG. 5 illustrates the contents of each slot 30 in greater detail. In the preferred embodiment, each slot contains a node field 32, basic fields 34, communications fields 36 and quality of service (QoS) fields 38. The node field 32 indicates the resident station. The basic fields 34 indicate the status of the resident station, i.e., is the station presently communicating and, if so, the non-resident station(s) in communication with the resident station and an identifier of the data channel being used for the communication. The communication fields 36 can contain, for example, information regarding negotiations for data channels, including ACKs and NACKs, as well as reports about internal status, available wavelengths. This field can also be used where communications with a station may occur with only a subset of the available data channels 24, which is likely to occur when the number of discernable wavelengths (and hence channels) increase using DWDM and some or all of the stations have limited tunability. The quality of service fields 38 include information regarding the type of communication, such as whether the communication is time-sensitive or best effort. The field list described above is not meant to be exhaustive.

In operation, the resident stations 14 update information in the slots regularly. Non-resident stations 14 observe the slots 30 and use the information from the slots 30 to build local tables where information about the status of each node is stored and constantly updated. Thus, for each station, the table has current information about the entire network. In the illustrated embodiment, only basic and QoS fields 34 and 38 are used to create the local status tables, whereas the communication field 36 is used exclusively for the purposes of communication between the involved nodes.

An example of the local table 40 stored in the nodes is depicted in FIG. 6, with four stations denoted as A, B, C and D. It should be emphasized that local tables are built solely based on the information contained in the individual time-slots 30. In the example of FIG. 6, the basic fields 34 are used to maintain the “time”, “status”, “operation”, “from/to” and “wavelength” (or channel) columns. The “node” column indicates the resident station (IP addresses could be used). The status column indicates whether the resident station is active or idle. The operation column indicates whether the resident station is transmitting or receiving. The from/to column indicates the station that the resident station is communicating with, if any (again IP addresses could be used). The wavelength column indicates the data channel 24 on which the communication is taking place. The columns described above are basically responsible for providing state information for the associated station 14. The time column indicates the time at which the information in each time-slot 30 has been updated by its resident node. This field may be used to detect failures by exposing situations where time field has not been updated for an extended period of time, especially if non-contiguous frame format is to be implemented.

Reading from the table 40 of FIG. 6, node A is transmitting to node C on λ=1, whereas node D is receiving from node F on λ=3. The time information is not depicted on this example, but it should be expressed in terms of time local to the resident node. Since synchronization takes place on the control channel 22, this does not represent a global problem.

The remaining columns indicate QoS sensitive information on the various communications between stations 14, added to facilitate QoS based differentiation. The “type of service” column indicates the type of service, if any, engaged in by the resident station, i.e., whether there is best effort traffic involved or the traffic is time-sensitive. This is closely related with the communication field 36 where bandwidth negotiation could take place, but is also related to the “idle counter” column of table 40 where there might be a counter to prevent greedy applications for monopolizing the resources—if a connection is idle for a period of time, it might be deemed terminated. This would provide a mechanism for securing bandwidth fairness. Further, there is a “multicasting” field indicating the nature of the traffic, whether it is a uni-casting or multicasting traffic. In case of multicasting traffic, the information contained in this column could include the multicasting tree. A “protection” column indicates whether the communication is protected or unprotected and at which channel it is protected. This opens up the way for QoS based differentiation in the protection mechanism and it could be a useful addition as best effort traffic could be carried over the protection path while the protection is not needed, and will be rerouted in case the protection channel kicks off. Indication on this can be obtained readily from the local status table since failures are also visible in the table through the update time column. The idle counter field is used to specify for how long the connection has been inactive and in case of best effort traffic, if it has been inactive for a prolonged period of time, it can be terminated and taken over by higher priority traffic connection. A rate column indicates the requested bandwidth for each connection in the network.

FIG. 4 illustrates an “out-of-band” embodiment where a control channel 22 on a separate frequency (or fiber) from the data channels 24 is used by the stations 14 solely for control information.

FIG. 7 illustrates an alternative, “in-band” embodiment, where a channel 20 can be used for both data and control information, thereby providing adding additional communication capability to the network. In this embodiment, a single frequency carries both control packets 44 and data packets 46. Control packets are sent periodically by the stations 14, instead of using time-slots 30. The information in the control packets 44 can be identical to that described above.

The in-band embodiment could use one of the channels 20 to pass both control and data packets.

While the invention has been described in connection with a token-ring architecture, it can anywhere that a MAC protocol is used to improve the efficiency of the network.

Although the Detailed Description of the invention has been directed to certain exemplary embodiments, various modifications of these embodiments, as well as alternative embodiments, will be suggested to those skilled in the art. The invention encompasses any modifications or alternative embodiments that fall within the scope of the Claims. 

1. A network comprising: a network ring for providing communication on a plurality of channels, wherein at least one of said channels passes control information; multiple devices operable to communicate with one another over a selected channel on the network ring, each device including circuitry for: generating control information related to its current communication status and transmitting said control information on said ring; and reading control information related to other devices from said ring and maintaining a local database of the current communications status of the devices.
 2. The network of claim 1 wherein one of said channels is a control channel having a plurality of time slots, each time slot carrying control information regarding an associated device.
 3. The network of claim 2 wherein each device is associated with one or more time slots.
 4. The network of claim 2 wherein the control information in one of the time slots may be changed only by the associated device.
 5. The network of claim 1 wherein each device generates control information about whether it is currently communicating with one or more other devices.
 6. The network of claim 5 wherein each device generates control information including a channel identifier, if the device is currently communicating with another device.
 7. The network of claim 1 wherein each device generates control information regarding the data rate of a communication.
 8. The network of claim 1 wherein each device generates quality of service control information.
 9. The network of claim 8 wherein said quality of service information includes information indicating whether a current communication is time-sensitive.
 10. The network of claim 8 wherein said quality of service information includes information indicating whether a current communication is a best effort communication.
 11. The network of claim 1 wherein at least one of said channels passes both data and control information.
 12. A method of communicating between multiple devices on a network, comprising the step of: providing communication for a plurality of channels on a network ring; passing control information on at least one of said channels; at each device, generating control information related to a current communication status of the device and transmitting said control information on said ring; and at each device, reading control information related to other devices from said ring and maintaining a local database of the current communications status of the devices.
 13. The method of claim 12 wherein each device transmits its control information to one of said channels designated as a control channel.
 14. The method of claim 13 wherein said control channels is divided into a plurality of time slots, each time slot carrying control information regarding an associated device.
 15. The method of claim 14 wherein each device is associated with one or more time slots.
 16. The method of claim 14 wherein the control information in one of the time slots may be changed only by the associated device.
 17. The method of claim 12 wherein said generating step by each device includes the step of, at each device, generating control information about whether it is currently communicating with one or more other devices.
 18. The method of claim 17 wherein each device generates control information including a channel identifier, if the device is currently communicating with another device.
 19. The method of claim 12 wherein each device generates control information regarding the data rate of a communication.
 20. The method of claim 12 wherein each device generates quality of service control information.
 21. The method of claim 20 wherein said quality of service information includes information indicating whether a current communication is time-sensitive.
 22. The method of claim 20 wherein said quality of service information includes information indicating whether a current communication is a best effort communication.
 23. The method of claim 12 wherein at least one of said channels passes both data and control information. 